#ifndef FKFILERECIEVER_H
#define FKFILERECIEVER_H

#include "FKFileManager.h"

#include <QMap>
#include <QVariant>

class QFile;

class FKFileReciever:public FKFileManager{
    Q_OBJECT
public:
    FKFileReciever(QObject *parent = 0);
    ~FKFileReciever();
public slots:
    void requestFile(QString file);
    void processAnswer(QVariant var);
    void interruptDownloading(QString file);
    void interruptDownloading();
signals:
    void fileRequest(QVariant file);
    void fileError(QString file);
    void errorMessage(QString file, QString message);
    void bytesRecieved(QString file, qint64 size);
    void fileRecieved(QString file);
private:
    void getNext(QString file, QVariant data);
    void getFirst(QString file, QVariant data);
    void getLast(QString file, QVariant data);
    void getError(QString file, QVariant data);
    QMap<QString,QFile*> _files;
};

#endif // FKFILERECIEVER_H
